// Copyright 2022 a.o.smith ALL Rights Reserved
package com.liuxinlong.modules.standard.service;

import com.liuxinlong.common.ImportResp;
import com.liuxinlong.modules.entity.StandardNews;

import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

/**
 * 标准动态服务层接口
 *
 * @author liuxinlong@hotwater.com.cn
 * @version 1.0.0
 * @since 2022年6月7日
 */
public interface StandardNewsService {
    /**
     * 分页查询标准动态
     *
     * @param queryParam 查询条件
     * @return 标准动态列表
     */
    List<Map<String, Object>> pageStandardNewsInfo(Map<String, Object> queryParam);

    /**
     * 查询标准动态条数
     *
     * @param queryParam 查询条件
     * @return 标准动态条数
     */
    int getStandardNewsCount(Map<String, Object> queryParam);

    /**
     * 新增标准动态
     *
     * @param standard    标准动态
     * @param syncMessage 消息推送标识
     */
    void addStandardNewsInfo(StandardNews standard, int syncMessage);

    /**
     * 修改标准动态
     *
     * @param standard    标准动态
     * @param syncMessage 消息推送标识
     */
    void updateStandardNewsInfo(StandardNews standard, int syncMessage);

    /**
     * 删除标准动态
     *
     * @param id 标准动态id
     */
    void deleteStandardNewsInfo(String id);

    /**
     * 导出标准动态
     *
     * @param id 标准动态id
     */
    void exportStandardNewsInfo(String id, HttpServletResponse response);

    /**
     * 导入数据预处理
     *
     * @param fileName 文件地址
     * @return 预处理数据
     */
    ImportResp importStandardNews(String fileName);

    /**
     * 批量新增标准动态信息
     *
     * @param dataList 标准动态信息列表
     * @return 失败数据
     */
    ImportResp batchAddStandardNews(List<StandardNews> dataList);

}
